home *** CD-ROM | disk | FTP | other *** search
- AT86 has a built-in context-sensitive help facility. Just type "?" atì
- any point, and you'll see a pop up window that attempts to clarify whatever isì
- going on. The current screen is automatically displayed when you type "help"ì
- in COMMAND MODE instead of typing "?". This file is an ordinary ASCII fileì
- called AT86.HLP which should reside in the same (sub)directory AT86.COMì
- resides in, since then AT86 knows how to find it. Currently this file tellsì
- you the meaning of a number of non-DEBUG.COM like commands. To see more thanì
- the present screen, type down arrow to get one more line, or PgDn to get theì
- next screen. Special commands to be typed in COMMAND MODE are:
-
- bye return to DOS
- chdir path change directory to pathname path
- cls clear screen
- cont continue execution at full speed (not tracing)
- cpu display info on CPU, RAM, ROM, serial, parallel, speed
- delete num delete instruction at offset num
- dir template list directory with template specified
- edit num edit statement at offset num
- erase file erase file with filename file
- files template list directory with template specified
- insert num insert instruction(s) starting at offset num
- kill file kill (erase) file with filename file
- list [num] list (display) program from start [from offset num]
- llist [num] print program from start [from offset num]
- load file load file with filename file.com
- new delete all labels, restore initial registers values
- pause n set pause interval to n/10 seconds (for demo's)
- quit return to DOS
- run run program from start at full speed (not trace)
- save file save file with filename file.com
- system return to DOS
- trace [num] trace program from start [from offset num]
- type file type (display) file with filename file
- width 4 or 8 set screen width to 40 or 80 columns
-
- These commands exist in similar forms in DOS or BASIC. AT86 acceptsì
- relaxed syntax. For example, on the files command, you can enclose theì
- filename template in double quotes or not as you choose. The insert commandì
- is added since legal line numbers always correspond to addresses of currentì
- instructions. On the other hand, renumbering is automatic, so BASIC'sì
- renumber command is superfluous.
- In addition to these commands, you have, of course, the standard AT86ì
- commands, which can also be useful, particularly the A (assemble) and Tì
- (trace) commands.
-
-
- AT86 ASSEMBLY LANGUAGE INTERPRETER
-
- The AT86 debug program has a built-in simple assembly-languageì
- interpreter facilty. In several ways AT86 mimics the BASIC interpreter,ì
- except that it expects assembly language statements instead of BASICì
- statements. It also differs from previous interpreters in a number of ways,ì
- such as having the full power of a screen debugger and using native machineì
- code as the intermediate interpreter language, which can lead to fasterì
- programs than those from compilers let alone usual interpreters.
- The BASIC-like word commands coexist with the DEBUG-style single letterì
- commands remarkably peacefully. Words like load, save, list, llist, run, andì
- delete are syntactically illegal from DEBUG's point of view, and hence can beì
- used unambiguously directly in AT86's COMMAND MODE. The BASIC command "new"ì
- is ambiguous, since to debug it means name the file called ew, but if youì
- really want to name such a file you could type n ew, which is not recognizedì
- as new.
- BASIC uses statement line numbers for branching and editing purposes, andì
- the AT86 instructions are automatically located in memory and can be referredì
- to by their hexadecimal memory offset values. You use these offset valuesì
- like line numbers to insert, delete, edit, trace, and execute instructions. ì
- Since many instructions are longer than one byte, there are many illegal "lineì
- numbers" referring to the middles of instructions. AT86 tells you if you tryì
- to refer to one of these illegal numbers. To make sure that it knows what'sì
- an instruction without undue overhead, AT86 insists that its code area (codeì
- segment) contains only instructions. It has a very fast algorithm forì
- scanning through a program up to the END statement that allows it to check forì
- legal line numbers. This same algorithm is used to insert, delete andì
- overtype instructions, all of which can involve shifting the code up or downì
- in memory. When you make a change in a program, AT86 "reassembles" the codeì
- at about 11,000 instructions a second on an ordinary PC. Actually it doesn'tì
- have to completely reassemble the code; it only has to shift the code asì
- needed and update all relative offsets in jmp and call instructionsì
- appropriately.
- AT86 allows the use of labels for referring to variables and jumpì
- addresses. As you type in or list a program, references to undefined labelsì
- are stamped with a "U" to the left of the corresponding machine code. Whenì
- you resolve these references by typing in a statement with a missing label,ì
- the references are filled in. For example, you can type in "call alpha",ì
- where alpha hasn't been defined previously, and then later type in theì
- subroutine called alpha. If you subsequently delete with instruction with theì
- label alpha, all corresponding references are stamped as Undefined, until youì
- redefine their target again.
- AT86 accepts all instructions in the 8086/80186/80286/8087 repertoire. Aì
- special pseudo op, "end" is used to specify the end of the code. Typicallyì
- you don't have to use the end pseudo op, since AT86 knows where your codeì
- ends. However if you want to delete the code from some point through the endì
- of what you've typed in, you can type end in sooner. To start over, youì
- should use the word "new" instead, since that also deletes the labels you'veì
- typed in.
-
-
- AT86 EDIT FACILITY
-
- AT86 has a line edit facility patterned after the PMATE editor that worksì
- both in COMMAND and ASSEMBLE MODEs. While typing in a command or assemblyì
- language statement, you can use the left anf right arrow keys to move aroundì
- the line. Typing ordinary characters simply inserts them at the cursorì
- position. Keystrokes are identified as follows:
-
- Home move cursor to beginning of line
- End move cursor to end of line
- Ctrl-O move one word left (Ctrl-left- arrow is an alias)
- Ctrl-P move one word right (Ctrl-right-arrow is an alias)
- Ctrl-Q delete word to left
- Ctrl-W delete word to right
- Ctrl-K delete (Kill) from cursor to end of line
- Del deletes character under cursor
- Backspace deletes character before cursor
-
- To edit a line, type
-
- -edit line_number
-
- in COMMAND MODE. This switches to ASSEMBLE MODE and automatically calls upì
- the line with the line_number (instruction offset) specified. Make theì
- changes you want and type <cr> to go onto the next line. To quit editing,ì
- type Esc, which returns to COMMAND MODE
-